Lucky Dip
Village gambling stand run by Elias. Two prize bins: Small (default 2 gold, 50:1 odds for rare) or Large (default 5 gold, 25:1 odds for rare). Rare prize (1 on dice): calle shell (valuable currency). Common prizes (e_rand 1-4, 25% each): gem, 10 gold, cheap children's toy (worthless, given to nearby child), iced cookie (heals 5% HP + 25% chance for bonus turn). Configurable daily tries (default 3 attempts). Configurable location. Insufficient gold blocks play. Elias scowls and turns away after limit reached. Where you approach brightly-colored bins, peer into darkness making out small colored packages, hand Elias your gold, reach one arm into red-and-white or blue-and-white box, drag out package, unwrap with excitement, and discover Elias' definition of "treasure" includes toys you immediately give to children.
Location & Access
Where:
- Village navigation hook
- Location: Configurable (luckydiploc setting, default villagename)
- Link: "Lucky Dip" (runmodule.php?module=luckydip)
- Stand operator: Elias
Daily Limit:
- Configurable tries per day (tryallowed setting, default 3)
- Preference: trytoday (int, tracks attempts)
- Reset at newday: trytoday → 0
- If trytoday >= tryallowed: Refused
Refusal Messages:
- Limit reached: "`7Much as you'd like to play again, Elias scowls at you and turns to the child beside you."
- Too poor: "`7Much as you'd like to play, your purse doesn't yield enough to pay for the privilege."
- Both: Navigation = [Leave] village.php only
The Two Bins
Initial Description:
- "`7You begin to approach the Lucky Dip, peering into the bins with interest."
- "You dimly make out small colored packages in the darkness."
- "Elias stands behind the brightly-colored bins.`n`n"
Elias' Pitch:
- "`&\"Hello traveler!"
- "So you think yourself lucky?"
- "There are many treasures in these boxes!\"`n`n"
- "`7He motions to the smaller box, and then to the larger one."
- "`&\"%s gold for the small, %s for the large." (cost, lcost)
- "Who knows what you will find?\""
Bin Options:
- Small Bin:
- Cost: Configurable (cost setting, default 2 gold)
- Colors: Blue and white box
- Rare odds: e_rand(1, 50) = 2% chance (1/50)
- Large Bin:
- Cost: Configurable (lcost setting, default 5 gold)
- Colors: Red and white box
- Rare odds: e_rand(1, 25) = 4% chance (1/25)
- Requires gold >= lcost to select
Playing the Game
Selection Sequence:
- Navigation: [Small (X gold)] or [Large (Y gold)] or [Leave]
- If select large but gold < lcost: Error message (see below)
- Otherwise: Deduct gold, increment trytoday, roll dice
Insufficient Gold for Large:
- "Elias looks at you with annoyance.`n`n"
- "`&\"I told you!"
- "That box costs %s to play!\"`n`n" (lcost)
- Navigation: [Leave] only (kicked out)
Opening Package:
- Small: "`7You hand Elias your %s gold, and reach one arm into the blue and white box.`n"
- Large: "`7You hand Elias your %s gold, and reach one arm into the red and white box.`n"
- "Dragging a package out, you unwrap it with excitement.`n"
- "Elias smiles.`n`n"
- "`&\"So you see, a treasure!" (always optimistic)
Prize System
Two-Stage Roll:
- Stage 1: Rare check (dipchance)
- Small: e_rand(1, 50)
- Large: e_rand(1, 25)
- If result = 1: Calle shell (skip stage 2)
- Stage 2: Common prize (gift)
- e_rand(1, 4)
- 4 outcomes, 25% each
Rare Prize: Calle Shell
Trigger:
- dipchance = 1
- Small bin: 2% (1 in 50)
- Large bin: 4% (1 in 25)
- Large bin 2× better odds
Message:
- "`&\"A treasure indeed!"
- "I hope you shall keep it safe, noble warrior!\"`n`n"
- "`7In your hands is a `6calle shell`7!"
- "`7You're rather amazed to find such a treasure in a simple lucky dip!"
Reward:
- +1 calle shell (callecount pref from calletrader module)
- Requires calletrader module active
- Calle shells = rare currency for highcity/special shops
- Very valuable prize
Common Prizes
Prize 1: Gem (gift = 4, 25%):
- "`&\"I hope you shall keep it safe, noble warrior!\"`n`n"
- "`7In your hands is a `5gem`7!"
- Reward: +1 gem
- Good prize (gems valuable)
Prize 2: Gold (gift = 3, 25%):
- "`&\"I hope you shall spend it wisely!\"`n`n"
- "`7You look down to find `^10 gold`7."
- Reward: +10 gold
- Profit if small bin (2 gold → 10 gold = +8 net)
- Break-even if large bin (5 gold → 10 gold = +5 net)
Prize 3: Toy (gift = 2, 25%):
- "`&\"You shall have hours of joy playing with such a treasure!\"`n`n"
- "`7You look down to find a cheap children's toy.`n`n"
- "`7You frown in annoyance, before handing it to the nearest small child, who is delighted."
- Reward: NOTHING (toy worthless)
- Loss (paid gold for garbage)
- At least child happy (consolation)
Prize 4: Cookie (gift = 1, 25%):
- "`&\"I hope you enjoy it!\"`n`n"
- "`7You look down to find a small iced cookie.`n`n"
- "`^You bite into it with joy!"
- Healing:
- If HP ≤ 110% of max HP: HP × 1.05 (+5% heal)
- Message: "`@You feel healthy!"
- Caps at 110% max HP (prevents overheal)
- Bonus Turn Chance:
- addturn = e_rand(1, 4)
- If addturn = 1 (25%): +1 turn
- Message: "`@You feel `@vigorous!"
- Moderate prize (heal + 25% turn chance)
Probability Tables
Small Bin (2 gold, 50:1 odds):
| Prize | Probability | Value |
|---|---|---|
| Calle Shell | 2% (1/50) | Very High (rare currency) |
| Gem | 24.5% (98% × 25%) | High |
| 10 Gold | 24.5% | +8 gold profit |
| Cookie (heal + 25% turn) | 24.5% | Moderate |
| Toy (nothing) | 24.5% | -2 gold loss |
Large Bin (5 gold, 25:1 odds):
| Prize | Probability | Value |
|---|---|---|
| Calle Shell | 4% (1/25) | Very High (2× better odds!) |
| Gem | 24% (96% × 25%) | High |
| 10 Gold | 24% | +5 gold profit |
| Cookie (heal + 25% turn) | 24% | Moderate |
| Toy (nothing) | 24% | -5 gold loss |
Expected Value Analysis
Small Bin (2 gold cost):
- Calle shell: 2% × [very high value, assume 100+ gold equivalent] ≈ 2+ gold
- Gem: 24.5% × [~5-10 gold] ≈ 1.5-2.5 gold
- 10 gold: 24.5% × 10 = 2.45 gold
- Cookie: 24.5% × [heal + 25% turn] ≈ 1-2 gold value
- Toy: 24.5% × 0 = 0 gold
- Expected value: ~7-10 gold (profit!)
Large Bin (5 gold cost):
- Calle shell: 4% × [100+ gold] ≈ 4+ gold
- Gem: 24% × 7.5 ≈ 1.8 gold
- 10 gold: 24% × 10 = 2.4 gold
- Cookie: 24% × 1.5 ≈ 0.36 gold
- Toy: 24% × 0 = 0 gold
- Expected value: ~8-10 gold (profit!)
Recommendation:
- Both bins +EV (expected profit)
- Large bin: 2× better calle shell odds (worth extra 3 gold if hunting rare)
- Small bin: Better gold profit ratio (2 → ~10 = 5× return)
- Use all 3 daily tries (free money long-term)
Admin Configuration
Settings:
- tryallowed: How many tries may the player have? (int, default 3)
- cost: Price to play small (int, default 2)
- lcost: Price to play large (int, default 5)
- luckydiploc: Where does the stand appear (location, default villagename)
Balancing:
- More tries (5-10): More profitable for players
- Fewer tries (1): Limited gambling, less exploitable
- Higher cost (small 5, large 10): Less profitable, harder to farm
- Lower cost (small 1, large 2): Very profitable, easy money
Strategy Guide
Always Use All Tries:
- 3 daily tries (default) = free expected profit
- Even toy outcomes (24.5% loss) outweighed by other prizes
- Calle shell jackpot makes it worth
Small vs Large?:
- Small bin: Better gold efficiency (2 cost, ~10 EV = 5× return)
- Large bin: 2× better calle shell odds (4% vs 2%)
- Hunting calle shells: Large bin worth it (rare prize priority)
- Low gold: Small bin safer (less loss if toy)
Calle Shell Farming:
- 3 tries/day × large bin (5 gold each) = 15 gold daily
- 4% per try = ~12% chance at least one shell/day (3 tries)
- Long-term: Expect calle shell every ~8 days
- Worth it if calle shells valuable on server
Limitations
- Daily Limit: 3 tries default (can't spam indefinitely)
- Gold Gate: Requires 2-5 gold per try (poor players struggle)
- RNG Prizes: 24-25% chance of worthless toy (frustrating)
- Calletrader Dependency: Calle shell prize useless without calletrader module
- Location Locked: Only appears in configured location
- Elias Scowls: After limit, no way to play more (strict enforcement)
Lucky Dip: where you approach Elias' brightly-colored bins in the village and peer into the darkness dimly making out small colored packages while Elias stands behind saying "Hello traveler! So you think yourself lucky? There are many treasures in these boxes! 2 gold for the small, 5 for the large, who knows what you will find?" and you can either hand him 2 gold to reach one arm into the blue-and-white box with 50:1 odds (e_rand 1-50) or 5 gold for the red-and-white box with 25:1 odds (e_rand 1-25), and if you roll a 1 you get a calle shell which amazes you because "such a treasure in a simple lucky dip!" but 98-96% of the time you roll the common prize dice (e_rand 1-4) giving you 25% gem, 25% ten gold coins, 25% small iced cookie that heals 5% HP and has a 25% sub-chance for a bonus turn, or 25% cheap children's toy that makes you frown in annoyance before handing it to the nearest small child who is delighted, and Elias always optimistically says "So you see, a treasure!" regardless of whether you got a rare calle shell or literal garbage, limited to 3 tries per day (configurable) after which Elias scowls at you and turns to the child beside you refusing service, making this a positive-expected-value gambling game where the jackpot is valuable currency and even the "bad" outcomes sometimes heal you or give you turns.